A chip having more wires of peripheral interfaces requires more input and output pads (IO PAD), and the chip has a larger area. An SSI is a common peripheral interface at present, where the most significant feature thereof is transmission performed by using only one wire. Therefore, the area of the chip may be controlled in a better way by using the SSI as a peripheral interface.
As shown in FIG. 1, two chips connected through an SSI need their own SSI modules, which are an SSI master module and an SSI slave module respectively.
As shown in FIG. 2, an SSI module uses a bidirectional pad (PAD), which uses three wires bore different signals respectively to connect to the PAD, where sd_in represents an input signal, sd_out represents an output signal, and sd_out_oe represents an output control signal, and sd_out_oe is active high.
The SSI uses a single wire for transmission; therefore, a scenario where a right to control the single wire is switched will definitely occur in a read operation. In a switch process, because no driver is available, the IO PAD is controlled by a pull-down resistor. After the SSI Master releases the right to control the single wire, the pull-down resistor discharges automatically. Because the discharging speed is low, if the SSI Master performs sampling, it is possible that the level on the single wire is not completely pulled down but is semi-high. If the SSI Master samples data too early by sampling the semi-high level, a data reception error may be caused.
At present, in order to solve the problem of data reception errors, a pull-down resistor is added to the board level to speed up the discharging of the IO PAD pull-down resistor. However, this method has low stability and flexibility, and therefore cannot properly solve the problem of data reception errors.